<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of duenoDatos
 *
 * @author drarko
 */
class duenoDatos extends table
{
    public $id;
    public $id_empleado;
    public $username;
    public $clave;
    public $nombre;
    public $apellido;
    public $legajo;
    public $fechaIngreso;
    public $fechaEgreso;    
    public $grupos = "";
    
    public function __construct($id = null) 
    {
        parent::__construct("duenoDatos");        
       
        if($id != null)
        {
           
            $this->addWhere("id_empleado",$id);
            $res = $this->select();
            
            foreach($res as $r)
            {
                $this->id_empleado = $r['id_empleado'];
                $this->username = $r['username'];
                $this->clave = $r['clave'];
                $this->id = $r['id'];
                
                $emp = new empleados($this->id_empleado);
                $this->nombre = $emp->nombre;
                $this->apellido = $emp->apellido;
                $this->legajo = $emp->legajo;
                $this->fechaIngreso = $emp->fechaIngreso;
                $this->fechaEgreso = $emp->fechaEgreso;                
            }
            
            $dxg = new duenoDatosxGrupo($this->id_empleado);
            $this->grupos = $dxg->id_grupos;
            
        }
        
        return $this;
    }    
 
    public function agregarDueno($id_empleado, $username, $clave, $habilitado)
    {
        $this->addValue("0");
        $this->addValue($id_empleado);
        $this->addValue($username);
        $this->addValue("'" . sha1($clave) . "'");
        $this->addValue($habilitado);
      
        $result = $this->insert();

        return $result;        
        
    }
    
    public function agregarDuenoPorLegajo($legajo, $username, $clave, $habilitado)
    {
        $empleado = new empleados();
        $result = $empleado->selectPorLegajo($legajo);
        
        foreach($result as $r)
        {
            $id = $r['id'];
        }
        
        $res = $this->agregarDueno($id, $username, $clave, $habilitado);
        return $res;
    }
    
    public function actualizarClave($clave)
    {
        $this->addSet("clave","'".sha1($clave)."'");
        $this->addWhere("id" , $this->id);          
        $result = $this->update();
        
        return $result;        
        
    }
    public function actualizarUser($user)
    {
        $this->addSet("username","'".$user."'");
        $this->addWhere("id" , $this->id); 
        $result = $this->update();
        
        return $result;        
        
    }    
    public function actualizar($user, $clave, $habilitado)
    {
        $result = $this->actualizarUser($user);        
        $result = $result . $this->actualizarClave($clave);
        $result = $result . $this->habilitar($this->id,$habilitado);
     
        return $result;        
        
    }
    
    public function listar($orden = "id", $sentido="ASC")
    {
        $this->setOrder($orden, $sentido);
        $result = $this->select();
        
        return $result;
    }    

    public function enviarMensaje($grupo_dest, $mensaje)
    {
        $mensaje = new mensajeria();
        $mensaje->nuevo($this->id_empleado, $grupo_dest, $mensaje);
    }
    
    public function leerMensaje($id)
    {
        $mensaje = new mensajeria();
        $mensaje->leerMensaje($id, $this->id_empleado);
    }
    
    public function misMensajes()
    {
        foreach($this->grupos as $gr)
        {
            $m = new mensajeria();
            $res = $res . $m->listar($gr);
        }
        
        return $res;
    }
    
    public function revisar($id)
    {
        $rev = new revisionDatos();
        $result = $rev->revisar($id, $this->id_empleado);
        
        return $result;
    }

    public function misRevisiones()
    {
        foreach($this->grupos as $grupo)
        {
            $rev = new revisionDatos();
            $result = $result . $rev->listarPendientes($grupo);
        }
        
        return $result;
    }
}


